CREATE EXTERNAL TABLE jms_dwd.dwd_s03_whole_operations_trace_rank_dt(
   `waybill_no` string COMMENT '运单号',
   `step` int COMMENT '全网点轨迹步数',
   `scan_type` string COMMENT '扫描类型',
   `network_code` string COMMENT '网点编码',
   `network_type` string COMMENT '网点类型,1.加盟商,2.转运中心,3.集散点,4.普通网点,5.代理区,6.总部,0.其他',
   `network_scan_time_early` timestamp COMMENT '网点所有操作最早扫描时间',
   `scan_time_early` timestamp COMMENT '网点单类操作最早扫描时间',
   `scan_time_last` timestamp COMMENT '网点单类操作最晚扫描时间',
   `prev_network_code` string COMMENT '上一站网点编码',
   `prev_network_type` string COMMENT '上一站网点类型,1.加盟商,2.转运中心,3.集散点,4.普通网点,5.代理区,6.总部,0.其他',
   `next_network_code` string COMMENT '下一站网点编码',
   `next_network_type` string COMMENT '下一站网点类型,1.加盟商,2.转运中心,3.集散点,4.普通网点,5.代理区,6.总部,0.其他',
   `step_center` int COMMENT '0：普通网点，非0：中心网点正序',
   `step_center_reserve` int COMMENT '0：普通网点，非0：中心网点倒序',
   `step_entrepot` int COMMENT '0：普通网点，非0：集散网点正序',
   `step_entrepot_reserve` int COMMENT '0：普通网点，非0：集散网点逆序',
   `recordid` string COMMENT '记录编号',
   `packagecode` string COMMENT '所属包号',
   `nextstationcode` string COMMENT '上下一站编号',
   `nextstation` string COMMENT '上一站或下一站',
   `destination` string COMMENT '目的地点',
   `scanusercode` string COMMENT '扫描雇员编号',
   `scanuser` string COMMENT '扫描雇员',
   `source` string COMMENT '来源',
   `weight` string COMMENT '扫描重量',
   `expresstype` string COMMENT '扫描类型',
   `returnflag` string COMMENT '退件标志',
   `elescaleflag` string COMMENT '电子秤标志',
   `pistolid` string COMMENT '巴枪ID',
   `shipment_no` string COMMENT '任务编号',
   `network_name` string COMMENT '网点名称',
   `is_sign` string COMMENT '签收标识,1是，0否',
   `sendcustomer` string COMMENT '寄件客户'
   )
 COMMENT '运单操作排序去重汇总表,记录运单排序去重后所有操作,时间范围30天，粒度：运单+操作'
 PARTITIONED BY (
   `dt` string COMMENT '运单录入日期(yyyy-mm-dd)')
 ROW FORMAT SERDE
   'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
 STORED AS INPUTFORMAT
   'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat'
 OUTPUTFORMAT
   'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
 LOCATION
   '/dw/hive/jms_dwd.db/external/dwd_s03_whole_operations_trace_rank_dt'
 TBLPROPERTIES (
   'discover.partitions'='false',
   'parquet.column.index.access'='true')


--目标表 jms_dwd.dwd_s03_whole_operations_trace_rank_dt 运单操作排序去重汇总表,记录运单排序去重后所有操作,时间范围30天，粒度：运单+操作'
--该表设计目标：
-- 1. 实现每一条运单操作数据的全局站点排序(正序)，全局中心排序(正序&倒序)，全局网点排序(正序&倒序)
-- 2. 在同一站点，对相同操作去重，不同站点的相同操作，不会去重
-- 3. 获取每个站点的实际上一站、下一站网点信息（网点编码，网点名称）

-- 分区字段： 以运单的录入时间作为分区，ps：这里还有个2049分区

--eg：
-- 运单(站点)
-- a      -                   b （中心）-             c -                  b （中心）     c(中心）
-- loading（1）              arrival（2）          loading(3)              arrival(4)
-- bagging (1)（null）       send(2)（1）          send(3)（null）         sign(4)（2）    sign（5）（3）
-- 去重： 在站点中对相同操作去重  （装车发件 最晚； 卸车到件 最早）
-- 排序： 全局对网点，中心，集散排序 （网点 正序， 中心 正序/倒序， 集散 正序/倒序）
-- 实际上一站、下一站网点















